Traditionally, facsimile ("fax") machines transmitted fax messages over the public switching telephone network ("PSTN"). The PSTN provides end-to-end connections between each fax machine. That is, for each call through the PSTN, there is a dedicated circuit set up between the two machines through which the date streams for the call are sent,
For many types of data traffic, Fe PSTN is a relatively inefficient transmission medium because it is circuit-based. To provide a connection whenever a caller desires one, the PSTN must be designed to handle the maximum amount of traffic that may flow through the network. Thus, at non-peak times, the network is underutilized. This is especially true for fax transmissions because most of the traffic flows from the originating fax to the destination fax, Typically, minimal traffic (e.g., a few signaling messages) flows in the other direction during the call.
Other networks have been developed to overcome the disadvantages of the PSTN. Some of the most prevalent alternative networks are packet-based networks. Packet-based networks such as the Internet provide more efficient data transmission by subdividing the data stream into blocks of data (referred to as data packets) and routing the data packets through the packet network. Significantly, the packet network does not provide a dedicated connection for each call, Rather, the packets associated with a given call may be routed at different times and through different nodes of the packet network. By breaking up the traffic in this manner, the switching and routing resources of the packet network are used more efficiently in comparison to comparable resources in the PSTN.
Although a packet network may be more efficient, the network may cause some of the traffic associated with a call to be delayed. This delay may cause problems in facsimile transmissions because conventional fax machines are designed to wait for a specific period of time for acknowledgments from the receiving fax machine, For example, an acknowledgment may be sent to indicate that the fax message was received in its entirety. If the originating fax machine does not receive an acknowledgment within the specified period of time, the originating fax machine may abort the transmission.
One proposed solution to this problem involves establishing two fax sessions. One fax session is established between the originating fax machine and its gateway to the packet network. Another fax session is established between the receiving fax machine and its gateway to the packet network, The gateways, in turn, communicate with one another over the packet network.
To compensate for delays in the packet network, the gateways provide acknowledgments and other handshaking signals to their associated fax machines, as necessary. For example, to prevent a time-out by an originating fax machine, its gateway may send an acknowledgment to the originating fax machine before the receiving fax machine successfully receives the complete fax message. It is left to the gateway to try to ensure that the fax message is successfully transmitted. To this end, the gateway typically stores the fax message and forwards it to the receiving fax machine at a later point in time. In the event that the fax message could not be successfully transmitted, recovery measures must be invoked to retransmit the fax message.
These recovery procedures may be cumbersome and inefficient. Thus, a need exists for a more transparent method of sending fax messages and receiving confirmations or error reports in real-time over packet-based networks.